<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>尾调优化</title>
    <script src="js/traceur.js"></script>
    <script src="js/bootstrap.js"></script>
    <script type="module">
        "use strict";
        function _add(x, y) {
            return x + y;
        }
        function add1(x, y) {
            x = parseInt(x);
            y = parseInt(y);
            //尾调
            return _add(x, y);
        }
        function add2(x, y) {
            x = parseInt(x);
            y = parseInt(y);
            //没有尾调
            return 0 + _add(x, y);
        }
        console.log(add1(1, '1')); //2
        console.log(add2(1, '2')); //3

        //将非尾调转换为尾调，只需将操作放在调用函数中
        "use strict";
        function _add1(x, y) {
            return x + y;
        }
        function add1(x, y) {
            x = parseInt(x);
            y = parseInt(y);
            var result1 = _add1(x, y);
            return result1;
        }
        console.log(add1(1, '1')); // 2
    </script>
</head>
<body>

</body>
</html>